home *** CD-ROM | disk | FTP | other *** search
/ Kit PC World De Ampliacion De Windows 95 / Kit PC World de ampliacion de Windows 95.iso / internet / sweeper / samples / olecon~1 / include / internet.h < prev    next >
C/C++ Source or Header  |  1995-12-04  |  3KB  |  105 lines

  1. //=--------------------------------------------------------------------------=
  2. // CInternetControl.H
  3. //=--------------------------------------------------------------------------=
  4. // Copyright  1995  Microsoft Corporation.  All Rights Reserved.
  5. //
  6. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF 
  7. // ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO 
  8. // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A 
  9. // PARTICULAR PURPOSE.
  10. //=--------------------------------------------------------------------------=
  11. //
  12. // class declaration for the URLDib2 control.
  13. //
  14. #ifndef __INTERNETCONTROL_H_
  15. #define __INTERNETCONTROL_H_
  16.  
  17. #define DISPID_PROGRESS    1958
  18.  
  19. #ifndef __MKTYPLIB__
  20.  
  21. #include "Sweeper.H"
  22.  
  23. #include "IPServer.H"
  24. #include "CtrlObj.H"
  25.  
  26.  
  27.  
  28. class CInternetControl : public COleControl,
  29.              public IServiceProvider
  30. {
  31. public:
  32.     CInternetControl(IUnknown *pUnkOuter, int iPrimaryDispatch, void *pMainInterface);
  33.     virtual ~CInternetControl();
  34.  
  35.     // IUnknown methods
  36.     //
  37.     DECLARE_STANDARD_UNKNOWN();
  38.  
  39.     // Call this method to start the download of a URL. 'propId' will 
  40.     //    be passed back to you OnData below.
  41.     HRESULT SetupDownload( LPOLESTR url, DISPID propId);
  42.  
  43.  
  44.     // Call this method to start the download of a moniker. 'propId' will 
  45.     //    be passed back to you OnData below.
  46.     HRESULT SetupDownload( IMoniker * moniker, DISPID propId);
  47.  
  48.  
  49.     // Call this method to start the download of a moniker that is
  50.     //    embedded in a stream (like a property). 'propId' will 
  51.     //    be passed back to you OnData below.
  52.     HRESULT SetupDownload( IStream * propStream, DISPID propId);
  53.  
  54.  
  55.     //    Derived classes implement this method. It will be called when
  56.     //    data has arrived for a given dispid.
  57.     virtual HRESULT OnData( DISPID id, DWORD grfBSCF,IStream * bitstrm, DWORD amount );
  58.  
  59.  
  60.     //    Derived classes can implement this method. It will be
  61.     //    called at various times during the download.
  62.     virtual HRESULT OnProgress( DISPID id, ULONG ulProgress, ULONG ulProgressMax,
  63.                                     ULONG ulStatusCode, LPCWSTR pwzStatusText);
  64.  
  65.  
  66.  
  67.  
  68.     //    Call this method to turn a URL into a Moniker.
  69.     HRESULT GetAMoniker( LPOLESTR    url, IMoniker ** );
  70.  
  71.  
  72.     // This method is a utility in case someone wants to know the 
  73.     HRESULT GetBindHost(IBindHost ** pHost );
  74.  
  75.  
  76.     // Convert a propId to an IBinding. (This only works if the
  77.     // download is actually in progress.
  78.     HRESULT GetBinding(DISPID,IBinding**);
  79.  
  80.  
  81.     HRESULT FireReadyStateChange( long newState );
  82.     HRESULT FireProgress( ULONG dwAmount );
  83.  
  84.     // Just to be good citizen. The impelmentation delegates
  85.     // to the client site.
  86.         
  87.     STDMETHOD(QueryService)(REFGUID guidService,
  88.             REFIID riid, void **ppvObject);                         
  89.  
  90.     virtual HRESULT InternalQueryInterface(REFIID, void **);
  91.  
  92. protected:
  93.     HRESULT GetBindHost();
  94.  
  95.     IBindHost *                m_host;
  96.     class CDownloadSink *    m_downloads;
  97.     long                    m_readyState;
  98.  
  99. };
  100.  
  101. #endif __MKTYPLIB__
  102.  
  103. #endif __INTERNETCONTROL_H_
  104.  
  105.